ab57fb4179f79cee81955fc212f953d3e8e775f5,app/src/main/java/davidandroidprojecttools/qq986945193/com/davidandroidprojecttools/utils/OkHttpUtils.java,OkHttpUtils,OkHttpUtils,#,54
Before Change
package davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.utils;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import com.google.gson.Gson;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.callback.OkHttpBaseCallback;
import davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.callback.OnGetByteArrayListener;
import davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.callback.OnGetJsonObjectListener;
import davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.callback.OnGetOkhttpStringListener;
import davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.constant.Constants;
import davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.enums.HttpMethodType;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.Headers;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
/**
* @author :程�员�冰
* @新浪微� :http://weibo.com/mcxiaobing
* @GitHub: https://github.com/QQ986945193
* @CSDN�客: http://blog.csdn.net/qq_21376985
* @交�Qq :986945193
* <p/>
* OkHttp使用�利进行�装
*/
public class OkHttpUtils {
private static OkHttpClient client;
private volatile static OkHttpUtils mOkHttputils;
private final String TAG = OkHttpUtils.class.getSimpleName();//获得类å??
private static Handler handler;
//æ??交jsonæ•°æ?®
private static final MediaType JSON = MediaType.parse("application/json;charset=utf-8");
//æ??交å—符串
private static final MediaType MEDIA_TYPE_MARKDOWN = MediaType.parse("text/x-markdown;charset=utf-8");
private static Gson gson;
private OkHttpUtils() {
client = new OkHttpClient().newBuilder().readTimeout(20, TimeUnit.SECONDS)
.connectTimeout(10, TimeUnit.SECONDS)
.writeTimeout(20, TimeUnit.SECONDS).build();
handler = new Handler(Looper.getMainLooper());
gson = new Gson();
}
//采用�例模�获�对象
public static OkHttpUtils getInstance() {
if (mOkHttputils == null) {
synchronized (OkHttpUtils.class) {
if (mOkHttputils == null) {
mOkHttputils = new OkHttpUtils();
}
}
}
return mOkHttputils;
}
/**
* 请求指定的url返回的结果是jsonå—符串
*
* @param url
* @param callBack
*/
public void asyncJsonStringByURL(String url, final OnGetOkhttpStringListener callBack) {
final Request request = new Request.Builder().url(url).build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response != null && response.isSuccessful()) {
onSuccessJsonStringMethod(response.body().string(), callBack);
}
}
});
}
/**
* 请求返回的是jsonOject对象
*
* @param url
* @param callBack
*/
public void asyncJsonObjectByURL(String url, final OnGetJsonObjectListener callBack) {
final Request request = new Request.Builder().url(url).addHeader(Constants.API_KEY, Constants.API_KEY_SECRET).build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response != null && response.isSuccessful()) {
onSuccessJsonObjectMethod(response.body().string(), callBack);
}
}
});
}
/**
* 请求返回的是byteå—节数组
*
* @param url
* @param callBack
*/
public void asyncGetByteByURL(String url, final OnGetByteArrayListener callBack) {
final Request request = new Request.Builder().url(url).build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response != null && response.isSuccessful()) {
onSuccessByteMethod(response.body().bytes(), callBack);
}
}
});
}
/**
* 表å?•æ??交 postæ??交
*
* @param url
* @param params
* @param callBack
*/
public void sendComplexForm(String url, Map<String, String> params, final OnGetJsonObjectListener callBack) {
RequestBody request_body = builderFormData(params);//表�对象,包�以input开始的对象,以html表�为主
Request request = new Request.Builder().url(url).post(request_body).build();//采用postæ–¹å¼?æ??交
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response != null && response.isSuccessful()) {
onSuccessJsonObjectMethod(response.body().string(), callBack);
}
}
});
}
/**
* å?‘æœ?务器æ??交String请求
*
* @param url
* @param content
* @param callBack
*/
public void sendStringByPostMethod(String url, String content, final OnGetJsonObjectListener callBack) {
Request request = new Request.Builder().url(url).post(RequestBody.create(MEDIA_TYPE_MARKDOWN, content)).build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response != null && response.isSuccessful()) {
onSuccessJsonObjectMethod(response.body().string(), callBack);
}
}
});
}
/**
* 请求返回的结果是jsonå—符串
*
* @param jsonValue
* @param callBack
*/
private void onSuccessJsonStringMethod(final String jsonValue, final OnGetOkhttpStringListener callBack) {
handler.post(new Runnable() {
@Override
public void run() {
if (callBack != null) {
try {
callBack.onResponse(jsonValue);
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
}
/**
* 请求返回的是byte[] 数组
*
* @param data
* @param callBack
*/
private void onSuccessByteMethod(final byte[] data, final OnGetByteArrayListener callBack) {
handler.post(new Runnable() {
@Override
public void run() {
if (callBack != null) {
callBack.onResponse(data);
}
}
});
}
/**
* 返回�应的结果是json对象
*
* @param jsonValue
* @param callBack
*/
private void onSuccessJsonObjectMethod(final String jsonValue, final OnGetJsonObjectListener callBack) {
handler.post(new Runnable() {
@Override
public void run() {
if (callBack != null) {
try {
callBack.onResponse(new JSONObject(jsonValue));
} catch (JSONException e) {
e.printStackTrace();
}
}
}
});
}
/**
* 利用Get请求得到Json对象
*
* @param url
* @param callback
*/
public <T> void get(String url, Class<T> clazz, OkHttpBaseCallback callback) {
Request request = buildGetRequest(url);
request(request, clazz, callback);
}
/**
* 利用POST请求得到Json对象
*
* @param url
* @param callback
*/
public <T> void post(String url, Map<String, String> param, Class<T> clazz, OkHttpBaseCallback callback) {
Request request = buildPostRequest(url, param);
request(request, clazz, callback);
}
private static String resultJsonStr = "";
public <T> void request(final Request request, final Class<T> clazz, final OkHttpBaseCallback callback) {
callback.onBeforeRequest(request);
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
callbackFailure(callback, request, e);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
callback.onResponse(response);
callbackResponse(callback, response);
if (response.isSuccessful()) {
resultJsonStr = response.body().string();
LogUtil.E("okhttp_result " + resultJsonStr);
if (callback.mType == String.class) {
LogUtil.E("111");
callbackSuccess(callback, response, resultJsonStr);
} else {
try {
// Object obj = gson.fromJson(resultStr, clazz);
Object obj = gson.fromJson(resultJsonStr, callback.mType);
callbackSuccess(callback, response, obj);
} catch (com.google.gson.JsonParseException e) { // Json解�的错误
callback.onError(response, response.code(), e);
LogUtil.E("RESO" + response + "===" + response.code() + "!!!" + e.toString());
}
}
} else {
callbackError(callback, response, null);
}
}
});
}
/**
* 设置请求头
*
* @param headersParams
* @return
*/
private Headers SetHeaders(Map<String, String> headersParams) {
Headers headers = null;
okhttp3.Headers.Builder headersbuilder = new okhttp3.Headers.Builder();
if (headersParams != null) {
Iterator<String> iterator = headersParams.keySet().iterator();
String key = "";
while (iterator.hasNext()) {
key = iterator.next().toString();
headersbuilder.add(key, headersParams.get(key));
Log.d("get http", "get_headers===" + key + "====" + headersParams.get(key));
}
}
headers = headersbuilder.build();
return headers;
}
private void callbackSuccess(final OkHttpBaseCallback callback, final Response response, final Object obj) {
handler.post(new Runnable() {
@Override
public void run() {
callback.onSuccess(response, obj);
}
});
}
private void callbackError(final OkHttpBaseCallback callback, final Response response, final Exception e) {
handler.post(new Runnable() {
@Override
public void run() {
callback.onError(response, response.code(), e);
}
});
}
private void callbackFailure(final OkHttpBaseCallback callback, final Request request, final IOException e) {
handler.post(new Runnable() {
@Override
public void run() {
callback.onFailure(request, e);
}
});
}
private void callbackResponse(final OkHttpBaseCallback callback, final Response response) {
handler.post(new Runnable() {
@Override
public void run() {
callback.onResponse(response);
}
});
}
private Request buildPostRequest(String url, Map<String, String> params) {
return buildRequest(url, HttpMethodType.POST, params);
}
private Request buildGetRequest(String url) {
return buildRequest(url, HttpMethodType.GET, null);
}
private Request buildRequest(String url, HttpMethodType methodType, Map<String, String> params) {
Request.Builder builder = new Request.Builder()
.url(url).addHeader(Constants.API_KEY, Constants.API_KEY_SECRET);
if (methodType == HttpMethodType.POST) {
RequestBody body = builderFormData(params);
builder.post(body);
} else if (methodType == HttpMethodType.GET) {
builder.get();
}
return builder.build();
}
/**
* post请求�数
*
* @param params post请求�数的body
* @return post�数体
*/
private RequestBody builderFormData(Map<String, String> params) {
FormBody.Builder form_builder = new FormBody.Builder();//表�对象,包�以input开始的对象,以html表�为主
if (params != null && !params.isEmpty()) {
for (Map.Entry<String, String> entry : params.entrySet()) {
if (entry.getKey() == null || entry.getValue() == null) {
//以防出现个别�数为空,报空指针闪退
} else {
form_builder.add(entry.getKey(), entry.getValue());
}
}
}
return form_builder.build();
}
/**
* å?–å¾—OKHTTP网络请求获得的JSONå—符串
*/
public static String getOkHttpJsonValue() {
return resultJsonStr;
}
/**
* getæ–¹æ³•è¿žæŽ¥æ‹¼åŠ å?‚æ•°
*/
private String setUrlParams(Map<String, String> mapParams) {
String strParams = "";
if (mapParams != null) {
Iterator<String> iterator = mapParams.keySet().iterator();
String key = "";
while (iterator.hasNext()) {
key = iterator.next().toString();
strParams += "&" + key + "=" + mapParams.get(key);
}
}
return strParams;
}
/**
* å?Œæ¥è¯·æ±‚,在androidå¼€å?‘ä¸ä¸?å¸¸ç”¨ï¼Œå› ä¸ºä¼šé˜»å¡žUI线程
*
* @param url
* @return
*/
public String syncGetByURL(String url) {
//构建一个request请求
Request request = new Request.Builder().url(url).build();
Response response = null;
try {
response = client.newCall(request).execute();//å?Œæ¥è¯·æ±‚æ•°æ?®
if (response.isSuccessful()) {
return response.body().string();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
After Change
package davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.utils;
import android.os.Handler;
import android.os.Looper;
import android.util.Log;
import com.google.gson.Gson;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.IOException;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.TimeUnit;
import davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.callback.OkHttpBaseCallback;
import davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.callback.OnGetByteArrayListener;
import davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.callback.OnGetJsonObjectListener;
import davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.callback.OnGetOkhttpStringListener;
import davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.constant.Constants;
import davidandroidprojecttools.qq986945193.com.davidandroidprojecttools.enums.HttpMethodType;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.FormBody;
import okhttp3.Headers;
import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
/**
* @author :程�员�冰
* @新浪微� :http://weibo.com/mcxiaobing
* @GitHub: https://github.com/QQ986945193
* @CSDN�客: http://blog.csdn.net/qq_21376985
* @交�Qq :986945193
* <p/>
* OkHttp使用�利进行�装
*/
public class OkHttpUtils {
private static OkHttpClient client;
private volatile static OkHttpUtils mOkHttputils;
private final String TAG = OkHttpUtils.class.getSimpleName();//获得类å??
private static Handler handler;
//æ??交jsonæ•°æ?®
private static final MediaType JSON = MediaType.parse("application/json;charset=utf-8");
//æ??交å—符串
private static final MediaType MEDIA_TYPE_MARKDOWN = MediaType.parse("text/x-markdown;charset=utf-8");
private static Gson gson;
//这是一�设置的方法,
// private OkHttpUtils() {
// client = new OkHttpClient().newBuilder().readTimeout(20, TimeUnit.SECONDS)
// .connectTimeout(10, TimeUnit.SECONDS)
// .writeTimeout(20, TimeUnit.SECONDS).build();
// handler = new Handler(Looper.getMainLooper());
// gson = new Gson();
// }
//采用�例模�获�对象
public static OkHttpUtils getInstance() {
if (mOkHttputils == null) {
synchronized (OkHttpUtils.class) {
if (mOkHttputils == null) {
mOkHttputils = new OkHttpUtils();
}
}
}
return mOkHttputils;
}
private OkHttpUtils() {
OkHttpClient.Builder clientBuild = new OkHttpClient.Builder();
clientBuild.readTimeout(20, TimeUnit.SECONDS);//读�超时
clientBuild.connectTimeout(10, TimeUnit.SECONDS);//连接超时
clientBuild.writeTimeout(60, TimeUnit.SECONDS);//写入超时
client = clientBuild.build();
handler = new Handler(Looper.getMainLooper());
gson = new Gson();
}
/**
* 请求指定的url返回的结果是jsonå—符串
*
* @param url
* @param callBack
*/
public void asyncJsonStringByURL(String url, final OnGetOkhttpStringListener callBack) {
final Request request = new Request.Builder().url(url).build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response != null && response.isSuccessful()) {
onSuccessJsonStringMethod(response.body().string(), callBack);
}
}
});
}
/**
* 请求返回的是jsonOject对象
*
* @param url
* @param callBack
*/
public void asyncJsonObjectByURL(String url, final OnGetJsonObjectListener callBack) {
final Request request = new Request.Builder().url(url).addHeader(Constants.API_KEY, Constants.API_KEY_SECRET).build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response != null && response.isSuccessful()) {
onSuccessJsonObjectMethod(response.body().string(), callBack);
}
}
});
}
/**
* 请求返回的是byteå—节数组
*
* @param url
* @param callBack
*/
public void asyncGetByteByURL(String url, final OnGetByteArrayListener callBack) {
final Request request = new Request.Builder().url(url).build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response != null && response.isSuccessful()) {
onSuccessByteMethod(response.body().bytes(), callBack);
}
}
});
}
/**
* 表å?•æ??交 postæ??交
*
* @param url
* @param params
* @param callBack
*/
public void sendComplexForm(String url, Map<String, String> params, final OnGetJsonObjectListener callBack) {
RequestBody request_body = builderFormData(params);//表�对象,包�以input开始的对象,以html表�为主
Request request = new Request.Builder().url(url).post(request_body).build();//采用postæ–¹å¼?æ??交
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response != null && response.isSuccessful()) {
onSuccessJsonObjectMethod(response.body().string(), callBack);
}
}
});
}
/**
* å?‘æœ?务器æ??交String请求
*
* @param url
* @param content
* @param callBack
*/
public void sendStringByPostMethod(String url, String content, final OnGetJsonObjectListener callBack) {
Request request = new Request.Builder().url(url).post(RequestBody.create(MEDIA_TYPE_MARKDOWN, content)).build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response != null && response.isSuccessful()) {
onSuccessJsonObjectMethod(response.body().string(), callBack);
}
}
});
}
/**
* 请求返回的结果是jsonå—符串
*
* @param jsonValue
* @param callBack
*/
private void onSuccessJsonStringMethod(final String jsonValue, final OnGetOkhttpStringListener callBack) {
handler.post(new Runnable() {
@Override
public void run() {
if (callBack != null) {
try {
callBack.onResponse(jsonValue);
} catch (Exception e) {
e.printStackTrace();
}
}
}
});
}
/**
* 请求返回的是byte[] 数组
*
* @param data
* @param callBack
*/
private void onSuccessByteMethod(final byte[] data, final OnGetByteArrayListener callBack) {
handler.post(new Runnable() {
@Override
public void run() {
if (callBack != null) {
callBack.onResponse(data);
}
}
});
}
/**
* 返回�应的结果是json对象
*
* @param jsonValue
* @param callBack
*/
private void onSuccessJsonObjectMethod(final String jsonValue, final OnGetJsonObjectListener callBack) {
handler.post(new Runnable() {
@Override
public void run() {
if (callBack != null) {
try {
callBack.onResponse(new JSONObject(jsonValue));
} catch (JSONException e) {
e.printStackTrace();
}
}
}
});
}
/**
* 利用Get请求得到Json对象
*
* @param url
* @param callback
*/
public <T> void get(String url, Class<T> clazz, OkHttpBaseCallback callback) {
Request request = buildGetRequest(url);
request(request, clazz, callback);
}
/**
* 利用POST请求得到Json对象
*
* @param url
* @param callback
*/
public <T> void post(String url, Map<String, String> param, Class<T> clazz, OkHttpBaseCallback callback) {
Request request = buildPostRequest(url, param);
request(request, clazz, callback);
}
private static String resultJsonStr = "";
public <T> void request(final Request request, final Class<T> clazz, final OkHttpBaseCallback callback) {
callback.onBeforeRequest(request);
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
callbackFailure(callback, request, e);
}
@Override
public void onResponse(Call call, Response response) throws IOException {
callback.onResponse(response);
callbackResponse(callback, response);
if (response.isSuccessful()) {
resultJsonStr = response.body().string();
LogUtil.E("okhttp_result " + resultJsonStr);
if (callback.mType == String.class) {
LogUtil.E("111");
callbackSuccess(callback, response, resultJsonStr);
} else {
try {
// Object obj = gson.fromJson(resultStr, clazz);
Object obj = gson.fromJson(resultJsonStr, callback.mType);
callbackSuccess(callback, response, obj);
} catch (com.google.gson.JsonParseException e) { // Json解�的错误
callback.onError(response, response.code(), e);
LogUtil.E("RESO" + response + "===" + response.code() + "!!!" + e.toString());
}
}
} else {
callbackError(callback, response, null);
}
}
});
}
/**
* 设置请求头
*
* @param headersParams
* @return
*/
private Headers SetHeaders(Map<String, String> headersParams) {
Headers headers = null;
okhttp3.Headers.Builder headersbuilder = new okhttp3.Headers.Builder();
if (headersParams != null) {
Iterator<String> iterator = headersParams.keySet().iterator();
String key = "";
while (iterator.hasNext()) {
key = iterator.next().toString();
headersbuilder.add(key, headersParams.get(key));
Log.d("get http", "get_headers===" + key + "====" + headersParams.get(key));
}
}
headers = headersbuilder.build();
return headers;
}
private void callbackSuccess(final OkHttpBaseCallback callback, final Response response, final Object obj) {
handler.post(new Runnable() {
@Override
public void run() {
callback.onSuccess(response, obj);
}
});
}
private void callbackError(final OkHttpBaseCallback callback, final Response response, final Exception e) {
handler.post(new Runnable() {
@Override
public void run() {
callback.onError(response, response.code(), e);
}
});
}
private void callbackFailure(final OkHttpBaseCallback callback, final Request request, final IOException e) {
handler.post(new Runnable() {
@Override
public void run() {
callback.onFailure(request, e);
}
});
}
private void callbackResponse(final OkHttpBaseCallback callback, final Response response) {
handler.post(new Runnable() {
@Override
public void run() {
callback.onResponse(response);
}
});
}
private Request buildPostRequest(String url, Map<String, String> params) {
return buildRequest(url, HttpMethodType.POST, params);
}
private Request buildGetRequest(String url) {
return buildRequest(url, HttpMethodType.GET, null);
}
private Request buildRequest(String url, HttpMethodType methodType, Map<String, String> params) {
Request.Builder builder = new Request.Builder()
.url(url).addHeader(Constants.API_KEY, Constants.API_KEY_SECRET);
if (methodType == HttpMethodType.POST) {
RequestBody body = builderFormData(params);
builder.post(body);
} else if (methodType == HttpMethodType.GET) {
builder.get();
}
return builder.build();
}
/**
* post请求�数
*
* @param params post请求�数的body
* @return post�数体
*/
private RequestBody builderFormData(Map<String, String> params) {
FormBody.Builder form_builder = new FormBody.Builder();//表�对象,包�以input开始的对象,以html表�为主
if (params != null && !params.isEmpty()) {
for (Map.Entry<String, String> entry : params.entrySet()) {
if (entry.getKey() == null || entry.getValue() == null) {
//以防出现个别�数为空,报空指针闪退
} else {
form_builder.add(entry.getKey(), entry.getValue());
}
}
}
return form_builder.build();
}
/**
* å?–å¾—OKHTTP网络请求获得的JSONå—符串
*/
public static String getOkHttpJsonValue() {
return resultJsonStr;
}
/**
* getæ–¹æ³•è¿žæŽ¥æ‹¼åŠ å?‚æ•°
*/
private String setUrlParams(Map<String, String> mapParams) {
String strParams = "";
if (mapParams != null) {
Iterator<String> iterator = mapParams.keySet().iterator();
String key = "";
while (iterator.hasNext()) {
key = iterator.next().toString();
strParams += "&" + key + "=" + mapParams.get(key);
}
}
return strParams;
}
/**
* å?Œæ¥è¯·æ±‚,在androidå¼€å?‘ä¸ä¸?å¸¸ç”¨ï¼Œå› ä¸ºä¼šé˜»å¡žUI线程
*
* @param url
* @return
*/
public String syncGetByURL(String url) {
//构建一个request请求
Request request = new Request.Builder().url(url).build();
Response response = null;
try {
response = client.newCall(request).execute();//å?Œæ¥è¯·æ±‚æ•°æ?®
if (response.isSuccessful()) {
return response.body().string();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}